#include <machine/hypervisor.h>
#include <machine/evtchn.h>
-#ifdef DOM0OPS
#include <sys/dirent.h>
#include <sys/stat.h>
#include <sys/tree.h>
#include <miscfs/specfs/specdev.h>
#include <miscfs/kernfs/kernfs.h>
#include <machine/kernfs_machdep.h>
-#endif
#if NXENNET > 0
#include <net/if.h>
hac.hac_xennpx.xa_device = "npx";
config_found(self, &hac.hac_xennpx, hypervisor_print);
#endif
+ xenkernfs_init();
#ifdef DOM0OPS
if (xen_start_info.flags & SIF_PRIVILEGED) {
- xenkernfs_init();
xenprivcmd_init();
xenmachmem_init();
xenvfr_init();
(void)HYPERVISOR_event_channel_op(&op);
}
-#ifdef DOM0OPS
-
+#define READ_MODE (S_IRUSR|S_IRGRP|S_IROTH)
#define DIR_MODE (S_IRUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH)
kernfs_parentdir_t *kernxen_pkt;
KERNFS_INITENTRY(dkt, DT_DIR, "xen", NULL, KFSsubdir, VDIR, DIR_MODE);
kernfs_addentry(NULL, dkt);
kernxen_pkt = KERNFS_ENTOPARENTDIR(dkt);
+
+ KERNFS_ALLOCENTRY(dkt, M_TEMP, M_WAITOK);
+ KERNFS_INITENTRY(dkt, DT_REG, "cmdline", xen_start_info.cmd_line,
+ KFSstring, VREG, READ_MODE);
+ kernfs_addentry(kernxen_pkt, dkt);
}
-#endif